#ifndef COMPOSITE_IMAGE_INTERFACE_H_
#define COMPOSITE_IMAGE_INTERFACE_H_

// Base class.
#include "ReadableImage.h"

class SimpleImage;

class CompositeImageInterface : public ReadableImage {
  public:
    virtual ~CompositeImageInterface() {}

    // Resets a composite image.
    virtual void reset(int width, int height, int tile_width, int tile_height,
        const Color& background) = 0;

    // Loads an image from raw data.
    virtual int loadTileFromStream(int i, int j, std::istream& stream) = 0;
};

#endif
